package com.dev.springBootDemo.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.time.temporal.ValueRange;

/**
 * 自定义注解
 * @author zhumq
 * @date 2024/7/1 0:33
 */
public class MyAnnotationTest02 {
    // 进行赋值，若无，则需要有默认值
    @MyAnnotation02(name = "zhumq",schools = {"清华大学","北京大学"})
    // 如果只有一个参数，value可以省略 且必须是value
    @MyAnnotation03("zhumq")
    public void test(){
    }
}

@Target(value = {ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation02 {
    // 注解的参数：参数类型 参数名 ();
    String name() default "";
    int age() default 0;
    int id() default -1; // 如果默认值为-1，则代表不存在
    String[] schools() ;
}

@Target(value = {ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation03 {
    String value();
}